package com.mida.app.knw.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mida.dms.mdm.dto.DetailCodingSystemCitationDto;
import com.mida.dms.mdm.param.DataSetPageParam;
import com.mida.dms.mdm.pojo.auto.MsdDataSet;
import com.mida.dms.mdm.pojo.auto.MsdDetailCodingSystem;
import com.mida.dms.mdm.vo.DetailCodingSystemPageVo;
import com.mida.dms.mdm.vo.PullDownMenuVO;
import com.mida.tool.common.result.ListResult;
import org.springframework.cloud.openfeign.SpringQueryMap;

import java.util.List;
import java.util.Map;

/**
 * @Description: 编码体系接口
 * @Author: wang xiao le
 * @Date: 2021/6/21 17:43
 **/
public interface DetailCodingSystemService {

    Map<Long, String> getDataSetMapByDetailCode(String code, Long supersoid, boolean isRoot);

    MsdDataSet getConceptSoidByDataSetSoid(Long dataSetSoid);

    List<MsdDataSet> getConceptSoidsByDataSetSoids(List<Long> list);

    List<Long> getDataSetSoidsByConceptSoids(List<Long> list);

    String getDataSetName(Long dataSetSoid);

    Long getDerailCodingSystemSoid(Long dataSetSoid);

    Map<Long, String> getDataSetNameMap(List<Long> list);

    Map<Long, String> getDetailCodingNameMap(List<Long> list);

    Map<Long, MsdDetailCodingSystem> getDetailCodingMap(List<Long> list);

    String getDetailCodingName(Long detailCodingSystemSoid);

    Map<Long, String> getDataSetDescriptionMap(List<Long> list);

    ListResult<List<PullDownMenuVO>> drawer2(String code, Long supersoid, boolean isRoot) throws Exception;

    ListResult<Page<MsdDataSet>> findListByConceptSoid(DataSetPageParam dataSetPageParam);

    ListResult<List<DetailCodingSystemCitationDto>> findAll(DetailCodingSystemPageVo vo);

    ListResult<Page<MsdDataSet>> findListByDerailCodingSystemSoid(@SpringQueryMap DataSetPageParam param);

    ListResult<List<MsdDataSet>> getDataSetList(Long derailCodingSystemSoid, String search) throws Exception;


}
